Communication device with capability for handling conditional acceptance of meeting requests

ABSTRACT

Interacting digitally communicating devices cooperate to schedule future meetings include a capability to handle conditional acceptance of meeting requests. For example, a conditional acceptance may be subject to Boolean logic functions of the acceptance status(es) of other meeting invitees (e.g., the condition that another specific one or more invitees also accept the meeting request).

CROSS REFERENCE TO RELATED APPLICATION

This application is a Continuation Application from U.S. patentapplication Ser. No. 11/133,446, filed May 20, 2005, which isincorporated herein by reference in its entirety.

TECHNICAL FIELD

This application generally relates to communication devices having auser capability to participate in scheduling of future meetings withother device users. It has particular applicability to wirelesscommunication devices.

RELATED ART

Computerized scheduling calendars are now commonplace. In a wired and/orwireless network of computers or computerized communication devices,such personal scheduling calendars may be interactive. That is, ameeting organizer may invite one or more other device users to a futuremeeting at a particular day and time (and perhaps place). In somecircumstances, when such invitations are received they may beautomatically acted upon by suitable software agents or modules so as tosimply accept such an invitation if other entries on the invitee'scalendar permit acceptance. If the invitee's calendar does not permitthe proposed meeting, then a denial message may be returned to themeeting organizer. Of course, each individual calendar may be set up byits user so as to block out certain segments of time and/or to requireincoming requests to be screened by the user personally before aresponse is manually made to an incoming request.

Current options for accepting a meeting request from a handheld wirelesscommunication device are to accept or tentatively accept the request.There is no convenient method for an invitee to conditionally accept ameeting request (e.g., based on the response of another invitee).

For example, assume that Bob sends a meeting request to Alice, Eve, andCarol. Further assume that Carol is very busy and only wishes to attendthe meeting if Eve attends. There is currently no method for Carol toindicate that her attendance is dependent on Eve's attendance, thus shemust first speak to Eve to determine if she will attend and then choose“Tentative” or “Accept”. Clearly, this method is slow and inconvenient.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects and advantages of this arrangement will bebetter understood and appreciated in conjunction with the followingdetailed description of exemplary embodiments taken together with theaccompanying drawings, in which:

FIG. 1 is an overall system wide schematic view of an exemplary wirelessemail communication system incorporating a mobile wireless communicationdevice with capability for handling conditional acceptance of meetingrequests in accordance with one exemplary embodiment;

FIG. 2 is an abbreviated schematic diagram of hardware included withinan exemplary mobile wireless communication device;

FIG. 3 is an exemplary abbreviated schematic flow chart of computersoftware (i.e., program logic) that may be utilized in the device ofFIG. 2 providing an option to organize a proposed meeting and to handlesubsequent conditional acceptances from invitees;

FIG. 4 is an exemplary abbreviated schematic flowchart of computersoftware (i.e., program logic) that may be utilized in the device ofFIG. 2 to provide user ability to respond to a meeting invitation with aconditional acceptance;

FIG. 5 is an exemplary abbreviated depiction of a meeting status tabledemonstrating how it can change as a result of handling conditionalacceptances; and.

FIG. 6 is an abbreviated table of exemplary Boolean logic functions thatmight be used to condition the acceptance of one party A upon a logicfunction of the acceptance of other parties invited to a meeting.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

We now introduce “Conditional” option for accepting a meeting request.If an invitee selects “Conditional” acceptance then she is presentedwith the full list of invitees and must select those whose attendancewill determine her attendance. The meeting is entered into the invitee'scalendar as Tentative and the Conditional response is sent to themeeting organizer.

Since the meeting organizer receives all responses to the request, herdevice must track all Conditional responses. If all conditions of aConditional response are satisfied (or explicitly dissatisfied) then theorganizer's handheld sends an update to the corresponding invitee. Whenthe invitee's handheld receives the update it then marks the meeting inthe invitee's calendar as Accepted if all conditions were satisfied (orit declines the meeting and deletes it from the invitee's calendar ifall conditions were explicitly dissatisfied).

For example, assume that Bob sends a meeting request to Alice, Eve, andCarol. Further assume that Carol sends a Conditional response based onEve accepting the request, and the meeting is entered into Carol'scalendar as Tentative. Bob's handheld receives the Conditional response.Later on, Eve accepts the request and an Accept response is sent to Bob.Bob's handheld determines that Carol's conditional response has beensatisfied and sends a notification to Carol. Carol's handheld receivesthe notification and changes the meeting in her calendar from Tentativeto Accepted. Note that if Eve had declined the meeting a notification tothat effect would have been sent to Carol and Carol's handheld wouldhave then declined the meeting and deleted it from her calendar.

Other logical options may also be defined for a Confidential acceptance.For example, if Bob is setting up a meeting and needs somebody fromProduct Marketing to attend, A and B work in product marketing and theyboth get an invitation. Only one of them needs to go. B could go butdoesn't want to if A is going so B goes if A isn't going (i.e., anon-exclusive OR or NOR logic condition is defined. This is, arguably,the inverse of the earlier described example where if A goes then B goesand if A doesn't go then B doesn't go. The NOR example extends this tocover the situation where if A goes, B doesn't go and A doesn't go thenB goes. This would extend beyond a group of 2 people and to otherpossible logical functions as will be appreciated.

The capabilities here described may be embodied in hardware, software ora combination of hardware and software and also provide a method for adevice user to conditionally accept a meeting request received via awireless communication device—and/or to organize a meeting in a way thataccommodates such conditional acceptances. The exemplary embodiment isrealized at lest in part, by executable computer program code which maybe embodies in physical program memory media.

FIG. 1 is an overview of an exemplary communication system in which awireless communication device 100 may be used. One skilled in the artwill appreciate that there may be hundreds of different systemtopologies. There may also be many message senders and recipients. Thesimple exemplary system shown in FIG. 1 is for illustrative purposesonly, and shows perhaps the currently most prevalent Internet emailenvironment.

FIG. 1 shows an email sender 10, the Internet 12, a message serversystem 14, a wireless gateway 16, wireless infrastructure 18, a wirelessnetwork 20 and a mobile communication device 100.

An email sender 10 may, for example, be connected to an ISP (InternetService Provider) on which a user of the system has an account, locatedwithin a company, possibly connected to a local area network (LAN), andconnected to the Internet 12, or connected to the Internet 12 through alarge ASP (application service provider) such as America Online™ (AOL).Those skilled in the art will appreciate that the systems shown in FIG.1 may instead by connected to a wide area network (WAN) other than theInternet, although email transfers are commonly accomplished throughInternet-connected arrangements as shown in FIG. 1.

The message server 14 may be implemented, for example, on a networkcomputer within the firewall of a corporation, a computer within an ISPor ASP system or the like, and acts as the main interface for emailexchange over the Internet 12. Although other messaging systems mightnot require a message server system 14, a mobile device 100 configuredfor receiving and possibly sending email will normally be associatedwith an account on a message server. Perhaps the two most common messageservers are Microsoft Exchange™ and Lotus Domino™. These products areoften used in conjunction with Internet mail routers that route anddeliver mail. These intermediate components are not shown in FIG. 1, asthey do not directly play a role in the system described below. Messageservers such as server 14 typically extend beyond just email sending andreceiving; they also include dynamic database storage engines that havepredefined database formats for data like calendars, to-do lists, tasklists, email and documentation.

The wireless gateway 16 and infrastructure 18 provide a link between theInternet 12 and wireless network 20. The wireless infrastructure 18determines the most likely network for locating a given user and tracksthe users as they roam between countries or networks. A message is thendelivered to the mobile device 100 via wireless transmission, typicallyat a radio frequency (RF), from a base station in the wireless network20 to the mobile device 100. The particular network 20 may be virtuallyany wireless network over which messages may be exchanged with a mobilecommunication device.

As shown in FIG. 1, a composed email message 22 is sent by the emailsender 10, located somewhere on the Internet 12. This message 22typically uses traditional Simple Mail Transfer Protocol (SMTP), RFC 822headers and Multipurpose Internet Mail Extension (MIME) body parts todefine the format of the mail message. These techniques are all wellknown to those skilled in the art. The message 22 arrives at the messagesever 14 and is normally stored in a message store. Most known messagingsystems support a so-called “pull” message access scheme, wherein themobile device 100 must request that stored messages be forwarded by themessage server to the mobile device 100. Some systems provide forautomatic routing of such messages which are addressed using a specificemail address associated with the mobile device 100. In a preferredembodiment, messages addressed to a message server account associatedwith a host system such as a home computer or office computer whichbelongs to the user of a mobile device 100 are redirected from themessage server 14 to the mobile device 100 as they are received.

Regardless of the specific mechanism controlling forwarding of messagesto mobile device 100, the message 22, or possibly a translated orreformatted version thereof, is sent to wireless gateway 16. Thewireless infrastructure 18 includes a series of connections to wirelessnetwork 20. These connections could be Integrated Services DigitalNetwork (ISDN), Frame Relay or T1 connections using the TCP/IP protocolused throughout the Internet. As used herein, the term “wirelessnetwork” is intended to include three different types of networks, thosebeing (1) data-centric wireless networks, (2) voice-centric wirelessnetworks and (3) dual-mode networks that can support both voice and datacommunications over the same physical base stations. Combined dual-modenetworks include, but are not limited to, (1) Code Divisional MultipleAccess (CDMA) networks, (2) the Group Special Mobile or the GlobalSystem for Mobile Communications (GSM) and the General Packet RadioService (GPRS) networks, and (3) future third-generation (3G) networkslike Enhanced Data-rates for Global Evolution (EDGE) and UniversalMobile Telecommunications Systems (UMTS). Some older examples ofdata-centric networks include the Mobitex™ Radio Network and theDataTAC™ Radio Network. Examples of older voice-centric data networksinclude Personal Communication Systems (PCS) networks like GSM, and TDMAsystems.

As depicted in FIG. 2, mobile communication device 100 includes asuitable RF antenna 102 for wireless communication to/from wirelessnetwork 20. Conventional RF, demodulation/modulation and decoding/codingcircuits 104 are provided. As those in the art will appreciate, suchcircuits can involve possibly many digital signal processors (DSPs),microprocessors, filters, analog and digital circuits and the like.However, since such circuitry is well known in the art, it is notfurther described.

The mobile communication device 100 will also typically include a maincontrol CPU 106 which operates under control of a stored program inprogram memory 108 (and which has access to data memory 110). CPU 106also communicates with a conventional keyboard 112, display 114 (e.g.,an LCD) and audio transducer or speaker 116. A portion of data memory110 a is available for storing meeting status data. Suitable computerprogram executable code is stored in portions of program memory 108 a toprovide the capability to handle conditional acceptance of meetingrequests.

If a device user wishes to organize a meeting, then an option isprovided to enter the meeting organizer logic 300. Suitablecommunications handling logic will, in this exemplary embodiment, alsodirect incoming responses to prior meeting invitations to this samemeeting organizer logic 300.

If a new meeting organization request is detected at 302, then proposedmeeting data is assembled at 304 and transmitted to devices associatedwith each of the invitees. For example, proposed meeting location, date,time and list of other invitees may be among the data that is assembledand transmitted to other devices inviting respectively correspondingothers to join in the proposed meeting.

If a response to a prior meeting invitation by this user is detected at306, then at 308 the respondent's new status is noted. Appropriatestatus data being maintained on the proposed meeting is updated. Forexample, the incoming response could be a tentative accept, an accept, adecline, or acceptance conditional on some yet to be determined event X(e.g., an acceptance from some other meeting invitee or a failure ofacceptance from some other meeting invitee—either by expressly decliningor by failure to accept within a certain time window). At 310, a test ismade to see whether or not the condition X has been met for anyconditional acceptance respondent. That is, a determination is made asto whether the condition(s) X is(are) now fully determined as met orunmet. If not, then the routine is exited at 312. If so, then an updatedstatus of condition(s) X is sent at 314 to associated respondents andthe local meeting status data is also suitably updated before exit istaken at 312. If neither expected condition is met at 302 and 306, thena suitable error message is displayed at 316 before exit is taken fromthis routine at 312.

As shown in FIG. 5, meeting status data may include a meeting ID, the IDof all invitees and their respective statuses. For example, at time T1,a meeting A may be organized by Bob with invitations being sent toAlice, Eve and Carol. At a later time T2, Bob may have received adeclined return message from Alice and a Conditional acceptance messagefrom Carol (e.g., Conditional upon whether Eve also accepts). When Eve'sresponse is received at time T3, then if Eve accepts, the status of bothEve and Carol is updated to an acceptance status. However, if Evedeclines, then the status of both Eve and Carol is updated to a declinedstatus. As those in the art will appreciate, similar message status datamay be maintained in all involved devices.

If an incoming meeting invitation is detected by the communicationshandling logic, then control is transferred to the incoming meetingmessage logic 400 as depicted in FIG. 4. A check is made at 402 to seeif the device receiving this message was the meeting organizer. If so,then transfer is made to the meeting organizer logic 300 at 404. If not,then a check is made at 406 to see if the incoming message is inresponse to an earlier conditional acceptance issued by this particularuser device. If so, then the local calendar data is updated at 408 tothe appropriate unconditional status before the routine is exited at410. Otherwise, a new incoming meeting invitation is displayed at 412and a waiting loop 414, 416 is entered for the user to determine whethera response is to be sent (assuming, for the moment, that this user hasnot permitted a totally automated response to occur—in which case anappropriate automated response is selected and sent and local calendardata updated in lieu of 414-420). If a response is to be made, then asuitable response is selected at 418 and local calendar data is updatedand a suitable responsive message is sent back to the meeting organizerat 420 before the routine is exited at 410. If the user does not make atimely indication of response, then a suitable time out message may bedisplayed at 422 before the routine is exited at 410. As those in theart will appreciate, if no response was elected, then suitable flags maybe set so that this portion of the logic may be re-entered at the user'soption to later send a suitable response.

As depicted in FIG. 6, a logical function (LF) determining theConditional acceptance of party A will involve any desired Boolean logicfunction of any number of other invitees (B, C . . . ).

Although the above description has been made with respect to the detailsof exemplary embodiments, those skilled in the art will realize thatvarious modifications and variations may be made in such exemplaryembodiments while yet retaining many of the novel features andadvantages described herein. Accordingly, all such variations andmodifications are intended to be included within the scope of theappended claims.

1. A method, comprising: receiving, at a portable electronic deviceassociated with a meeting invitee, a request to arrange a meetingbetween a plurality of meeting invitees; recording, at the portableelectronic device, the meeting as a tentative meeting in a calendarapplication of the portable electronic device; sending, from theportable electronic device, a conditional acceptance to the request, theconditional acceptance comprising a condition that at least one othermeeting invitee has failed to accept the request; and recording, in thecalendar application, the meeting as an accepted meeting in response toreceipt of an indication that the condition has been met.
 2. The methodaccording to claim 1, comprising deleting the meeting from the calendarapplication in response to receipt of an indication that the conditionhas not been met.
 3. The method according to claim 2, comprisingsending, from the portable electronic device, a response declining themeeting in response to receipt of the indication that the condition hasnot been met.
 4. A non-transitory computer readable medium havingcomputer-readable code embodied therein executable by a processor of aportable electronic device associated with a meeting invitee forreceiving, at the portable electronic device, a request to arrange ameeting between a plurality of meeting invitees, recording, at theportable electronic device, the meeting as a tentative meeting in acalendar application of the portable electronic device, sending, fromthe portable electronic device, a conditional acceptance to the request,the conditional acceptance comprising a condition that at least oneother meeting invitee has failed to accept the request, and recording,in the calendar application, the meeting as an accepted meeting inresponse to receipt of an indication that the condition has been met. 5.The non-transitory computer readable medium according to claim 4,wherein the processor deletes the meeting from the calendar applicationin response to receipt of an indication that the condition has not beenmet.
 6. The non-transitory computer readable medium according to claim5, wherein the processor sends a response declining the meeting inresponse to receipt of the indication that the condition has not beenmet.
 7. A portable electronic device comprising: a display; a memory;and a processor operative coupled to the display and the memory forexecuting a program stored in the memory to cause the portableelectronic device to receive a request to arrange a meeting between aplurality of meeting invitees, record the meeting as a tentative meetingin a calendar application of the portable electronic device, send aconditional acceptance to the request, the conditional acceptancecomprising a condition that at least one other meeting invitee hasfailed to accept the request, and record, in the calendar application,the meeting as an accepted meeting in response to receipt of anindication that the condition has been met.
 8. The portable electronicdevice according to claim 7, wherein the processor executes a programstored in the memory to cause the portable electronic device to deletethe meeting from the calendar application in response to receipt of anindication that the condition has not been met.
 9. The portableelectronic device according to claim 8, wherein the processor executes aprogram stored in the memory to cause the portable electronic device tosend a response declining the meeting in response to receipt of theindication that the condition has not been met.